--- 1.dwd_administrative_region（行政区划维表）
CREATE TABLE IF NOT EXISTS dwd_administrative_region (
  id BIGINT COMMENT '主键ID',
  create_time TIMESTAMP COMMENT '创建时间',
  update_time TIMESTAMP COMMENT '修改时间',
  level INT COMMENT '行政级别',
  name STRING COMMENT '名称',
  superior_region BIGINT COMMENT '上级区划ID',
  zip_code STRING COMMENT '邮政编码'
) COMMENT '行政区划维表'
PARTITIONED BY (dt STRING COMMENT '分区日期')
STORED AS PARQUET;

INSERT INTO TABLE dwd_administrative_region PARTITION (dt = '${bizdate}')
SELECT
    id                 -- '地区id'
    ,create_time       -- '创建时间'
    ,update_time       -- '修改时间'
    ,level             -- '行政级别'
    ,name              -- '名称'
    ,superior_region   -- '上级区划id'
    ,zip_code          -- '邮政编码'
FROM ods_administrative_region
WHERE dt = '${bizdate}'; --'行政区划原始数据表';

--- 2.dwd_installment（分期事实表）
CREATE TABLE IF NOT EXISTS dwd_installment (
  id BIGINT COMMENT '主键ID',
  create_time TIMESTAMP COMMENT '创建时间',
  update_time TIMESTAMP COMMENT '修改时间',
  amount DECIMAL(19,2) COMMENT '应付金额',
  due_time DATE COMMENT '应付日期',
  payment_time TIMESTAMP COMMENT '支付时间',
  insurance_order_id BIGINT COMMENT '所属订单'
) COMMENT '分期事实表'
PARTITIONED BY (dt STRING COMMENT '分区日期')
STORED AS PARQUET;

INSERT INTO TABLE dwd_installment PARTITION (dt = '${bizdate}')
SELECT
    id                        -- '分期id'
    ,create_time              -- '创建时间'
    ,update_time              -- '修改时间'
    ,amount                   -- '应付金额'
    ,due_time                 -- '应付日期'
    ,payment_time             -- '支付时间'
    ,insurance_order_id       -- '所属订单'
FROM ODS_INSTALLMENT;

--- 5.dwd_insurance_claim_reporting（报案事实表）
CREATE TABLE IF NOT EXISTS dwd_insurance_claim_reporting (
  id BIGINT COMMENT '主键ID',
  create_time TIMESTAMP COMMENT '创建时间',
  update_time TIMESTAMP COMMENT '修改时间',
  address STRING COMMENT '详细地址(需脱敏)',
  reporting_telephone STRING COMMENT '报案人电话(需脱敏)',
  status_desc STRING COMMENT '案件状态: 已报案/已出险/已关闭',
  administrative_region_id BIGINT COMMENT '报案城市',
  vehicle_id BIGINT COMMENT '关联车辆'
) COMMENT '报案事实表'
PARTITIONED BY (dt STRING COMMENT '分区日期')
STORED AS PARQUET;

INSERT INTO TABLE dwd_insurance_claim_reporting PARTITION (dt = '${bizdate}')
SELECT
    id ,-- '报案ID'
    create_time ,-- '创建时间'
    update_time ,-- '修改时间'
    address ,-- '详细地址'
    reporting_telephone ,-- '报案人电话'
    case WHEN status = 1 then '已报案'
        when STATUS = 2 then '已出险'
        when STATUS = 3 then '已关闭'
    end as STATUS ,
    administrative_region_id ,-- '报案城市'
    vehicle_id -- '关联车辆'
FROM ods_insurance_claim_reporting;